-
Notifications
You must be signed in to change notification settings - Fork 69
Added V2 and ISA support #197
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
FYI. I merged a PR that fixed CI with the main branch and changes that will going into the shortly to be released 1.2.0 so that CI now passes fully here and does not fail with the two jobs that check things out against qiskit main, and updated the branch here so this now completely passes. I think this is fine. I must admit though I had wondered, given that I think we only ever need something that has a run() method, that takes circuits and gives transpiled circuits back whether, something could be done around a type that was more targeted along those lines. The pass manager has a number of methods that I do not think we would call, and the AI Transpiler Service which has a run method could be used too but is not a passmanager - i,e, so that a Passmanager instance or the AI transpiler could be used - or anything else that had a run method that did the transpilation. I know Optimization went for BassPassManager too as the type and maybe thats ok. Whatever is done I think we might want to note in the docstring for this that's its optional and that passing in None results in the circuit not being transpiled. Maybe for some algos like VQE one can already pass a circuit (ansatz) that is transpiled for a given backend so the note there might be a little different to accommodate that - for PE they build their own circuits of course so that aspect does not apply. One minor comment I might have is that the |
I think the CLA is for qiskit projects overall so could they have signed it on another one. If CLA passes it all seems good to me. |
@woodsp-ibm We've added the release note, let us know if that's not what you expected! |
I am thinking that perhaps adding a link to this migration guide in the release notes might be helpful https://quantum.cloud.ibm.com/docs/en/migration-guides/v2-primitives It not only covers the runtime ones but also has a link to the v1 V2 migration for reference primitives in Qiskit. Do you think an Estimator sample of before with V1 and now with V2 would be helpful as well, alongside the Grover Sampler one. That would cover both primitive types and their usage in algorithms from a migration perspective. One minor text item
Would this be better i.e.
Overall though it seems fine to me. |
We've updated the release note and also removed a section in another release note stating that |
releasenotes/notes/replaced-v1-primitives-by-v2-ones-897d9610351bd54b.yaml
Show resolved
Hide resolved
… on top of QGT when transpiling
@woodsp-ibm I'm not sure to understand the reason why the Apart from that, the only things that are left to do are adding a transpilation option to |
|
It seems its still failing the same with ansatz as it looks like you removed |
Yeah, not my brightest moment :') |
@woodsp-ibm By the way, there's a test in in |
I would leave things like they are for now i.e. skipping the test. You have a comment there it seems that it takes some time. I am not sure about the test normally we expected tests to be fast but things have changed quite a bit since that code was originally done. I do not know the rationale for that test - @a-matsuo I think you were main author (looking back at the history) would you have any input here. |
Summary
This PR's goal is to adapt the whole code base to support V2 primitives and ISA circuits. Will fix #136, fix #164, fix #165, fix #194, and fix #204.
What's working
eigensolvers
gradients
minimum_eigensolvers
optimizers
state_fidelities
time_evolvers
utils
amplitude_estimators
grover
phase_estimators
validation
Some issues mentioned in this table will not be fixed, so we still have to circumvent them.